Try to use Limited API (Python version >= 3.14)#359
Closed
skirpichev wants to merge 12 commits into
Closed
Conversation
Setting up build environment...
+ mkdir -p /
+ /opt/python/cp39-cp39/bin/python -c 'import sys, json, os; json.dump(os.environ.copy(), sys.stdout)'
+ pwd
+ pwd
+ which python
+ python -V -V
Python 3.15.0b2 free-threading build (main, Jun 4 2026, 13:36:37) [GCC 14.2.1 20250110 (Red Hat 14.2.1-11)]
+ which pip
[...]
Building wheel...
+ rm -rf /tmp/cibuildwheel/built_wheel
+ mkdir -p /tmp/cibuildwheel/built_wheel
+ python -m build /project --wheel --outdir=/tmp/cibuildwheel/built_wheel --verbose -Csetup-args=--vsenv
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
- meson-python
> /opt/python/cp315-cp315t/bin/python -m pip --python /tmp/build-env-
jca10p_e/bin/python install --ignore-installed --use-pep517 --no-warn-
script-location --no-compile --no-input -r /tmp/build-
requirements-e3hulq3p.txt
< Collecting meson-python (from -r /tmp/build-requirements-e3hulq3p.txt (line
1))
< Using cached meson_python-0.20.0-py3-none-any.whl.metadata (2.1 kB)
< Collecting meson>=1.2.3 (from meson-python->-r /tmp/build-
requirements-e3hulq3p.txt (line 1))
< Using cached meson-1.11.2-py3-none-any.whl.metadata (1.8 kB)
< WARNING: Cache entry deserialization failed, entry ignored
< Collecting packaging>=23.2 (from meson-python->-r /tmp/build-
requirements-e3hulq3p.txt (line 1))
< Using cached packaging-26.2-py3-none-any.whl.metadata (3.5 kB)
< Collecting pyproject-metadata>=0.9.0 (from meson-python->-r /tmp/build-
requirements-e3hulq3p.txt (line 1))
< Using cached pyproject_metadata-0.12.1-py3-none-any.whl.metadata (6.5 kB)
< Using cached meson_python-0.20.0-py3-none-any.whl (29 kB)
< Using cached meson-1.11.2-py3-none-any.whl (1.1 MB)
< Using cached packaging-26.2-py3-none-any.whl (100 kB)
< Using cached pyproject_metadata-0.12.1-py3-none-any.whl (23 kB)
< Installing collected packages: packaging, meson, pyproject-metadata, meson-
python
< Successfully installed meson-1.11.2 meson-python-0.20.0 packaging-26.2
pyproject-metadata-0.12.1
* Getting build dependencies for wheel...
* Installing packages in isolated environment:
- ninja >= 1.8.2
> /opt/python/cp315-cp315t/bin/python -m pip --python /tmp/build-env-
jca10p_e/bin/python install --use-pep517 --no-warn-script-location --no-
compile --no-input -r /tmp/build-requirements-j_xnf8a3.txt
< Collecting ninja>=1.8.2 (from -r /tmp/build-requirements-j_xnf8a3.txt (line
1))
< Using cached ninja-1.13.0-py3-none-
manylinux2014_aarch64.manylinux_2_17_aarch64.whl.metadata (5.1 kB)
< Using cached ninja-1.13.0-py3-none-
manylinux2014_aarch64.manylinux_2_17_aarch64.whl (177 kB)
< Installing collected packages: ninja
< Successfully installed ninja-1.13.0
* Building wheel...
+ meson setup /project /project/.mesonpy-phtgps2v -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --native-file=/project/.mesonpy-phtgps2v/meson-python-native-file.ini
The Meson build system
Version: 1.11.2
Source dir: /project
Build dir: /project/.mesonpy-phtgps2v
Build type: native build
Project name: gmp
Project version: v0.6.0a3.dev40+g8c6b7cf
C compiler for the host machine: cc (gcc 14.2.1 "cc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-11)")
C linker for the host machine: cc ld.bfd 2.41-4
Host machine cpu family: aarch64
Host machine cpu: aarch64
Program python found: YES (/tmp/build-env-jca10p_e/bin/python)
Found pkg-config: YES (/usr/bin/pkg-config) 1.4.2
Run-time dependency zz found: YES 0.9.0a5
Found pkg-config: YES (/usr/bin/pkg-config) 1.4.2
Run-time dependency python found: YES 3.15
Build targets in project: 2
gmp v0.6.0a3.dev40+g8c6b7cf
User defined options
Native files: /project/.mesonpy-phtgps2v/meson-python-native-file.ini
b_ndebug : if-release
b_vscrt : md
buildtype : release
vsenv : true
Found ninja-1.13.0.git.kitware.jobserver-pipe-1 at /tmp/build-env-jca10p_e/bin/ninja
Visual Studio environment is needed to run Ninja. It is recommended to use Meson wrapper:
/tmp/build-env-jca10p_e/bin/meson compile -C .
+ /tmp/build-env-jca10p_e/bin/ninja
[1/6] Generating generate-version with a custom command
Saving version to _version.py
[2/6] Compiling C object gmp.cpython-315t-aarch64-linux-gnu.so.p/fmt.c.o
FAILED: [code=1] gmp.cpython-315t-aarch64-linux-gnu.so.p/fmt.c.o
cc -Igmp.cpython-315t-aarch64-linux-gnu.so.p -I. -I.. -I/project/.local/include -I/opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c17 -O3 -Wall -Werror -Wconversion -fPIC -MD -MQ gmp.cpython-315t-aarch64-linux-gnu.so.p/fmt.c.o -MF gmp.cpython-315t-aarch64-linux-gnu.so.p/fmt.c.o.d -o gmp.cpython-315t-aarch64-linux-gnu.so.p/fmt.c.o -c ../fmt.c
In file included from /opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t/Python.h:79,
from ../utils.h:16,
from ../mpz.h:4,
from ../fmt.c:1:
/opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t/object.h: In function ‘PyObject_TypeCheck’:
/opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t/object.h:375:12: error: implicit declaration of function ‘Py_IS_TYPE’; did you mean ‘Py_TYPE’? [-Wimplicit-function-declaration]
375 | return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
| ^~~~~~~~~~
| Py_TYPE
../mpz.h: At top level:
../mpz.h:8:5: error: unknown type name ‘PyObject_HEAD’; did you mean ‘PyObject_DEL’?
8 | PyObject_HEAD
| ^~~~~~~~~~~~~
| PyObject_DEL
../mpz.h:9:15: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘hash_cache’
9 | Py_hash_t hash_cache;
| ^~~~~~~~~~
[3/6] Compiling C object gmp.cpython-315t-aarch64-linux-gnu.so.p/utils.c.o
FAILED: [code=1] gmp.cpython-315t-aarch64-linux-gnu.so.p/utils.c.o
cc -Igmp.cpython-315t-aarch64-linux-gnu.so.p -I. -I.. -I/project/.local/include -I/opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c17 -O3 -Wall -Werror -Wconversion -fPIC -MD -MQ gmp.cpython-315t-aarch64-linux-gnu.so.p/utils.c.o -MF gmp.cpython-315t-aarch64-linux-gnu.so.p/utils.c.o.d -o gmp.cpython-315t-aarch64-linux-gnu.so.p/utils.c.o -c ../utils.c
In file included from /opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t/Python.h:79,
from ../utils.h:16,
from ../utils.c:1:
/opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t/object.h: In function ‘PyObject_TypeCheck’:
/opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t/object.h:375:12: error: implicit declaration of function ‘Py_IS_TYPE’; did you mean ‘Py_TYPE’? [-Wimplicit-function-declaration]
375 | return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
| ^~~~~~~~~~
| Py_TYPE
[4/6] Compiling C object gmp.cpython-315t-aarch64-linux-gnu.so.p/extra.c.o
[5/6] Compiling C object gmp.cpython-315t-aarch64-linux-gnu.so.p/gmp.c.o
FAILED: [code=1] gmp.cpython-315t-aarch64-linux-gnu.so.p/gmp.c.o
cc -Igmp.cpython-315t-aarch64-linux-gnu.so.p -I. -I.. -I/project/.local/include -I/opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c17 -O3 -Wall -Werror -Wconversion -fPIC -MD -MQ gmp.cpython-315t-aarch64-linux-gnu.so.p/gmp.c.o -MF gmp.cpython-315t-aarch64-linux-gnu.so.p/gmp.c.o.d -o gmp.cpython-315t-aarch64-linux-gnu.so.p/gmp.c.o -c ../gmp.c
In file included from /opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t/Python.h:79,
from ../utils.h:16,
from ../mpz.h:4,
from ../gmp.c:1:
/opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t/object.h: In function ‘PyObject_TypeCheck’:
/opt/_internal/cpython-3.15.0b2-nogil/include/python3.15t/object.h:375:12: error: implicit declaration of function ‘Py_IS_TYPE’; did you mean ‘Py_TYPE’? [-Wimplicit-function-declaration]
375 | return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
| ^~~~~~~~~~
| Py_TYPE
../mpz.h: At top level:
../mpz.h:8:5: error: unknown type name ‘PyObject_HEAD’; did you mean ‘PyObject_DEL’?
8 | PyObject_HEAD
| ^~~~~~~~~~~~~
| PyObject_DEL
../mpz.h:9:15: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘hash_cache’
9 | Py_hash_t hash_cache;
| ^~~~~~~~~~
In file included from ../mpz.h:5:
../gmp.c: In function ‘MPZ_new’:
../gmp.c:34:29: error: ‘MPZ_Object’ has no member named ‘z’
34 | (void)zz_set(0, &res->z);
| ^~
/project/.local/include/zz/zz.h:66:40: note: in definition of macro ‘zz_set’
66 | double: zz_set_double)(U, V)
| ^
../gmp.c:51:25: error: ‘MPZ_Object’ has no member named ‘z’
51 | if (zz_init(&res->z)) {
| ^~
../gmp.c:60:8: error: ‘MPZ_Object’ has no member named ‘hash_cache’
60 | res->hash_cache = -1;
| ^~
../gmp.c: In function ‘MPZ_to_str’:
../gmp.c:72:32: error: ‘MPZ_Object’ has no member named ‘z’
72 | bool negative = zz_isneg(&u->z);
| ^~
../gmp.c:74:25: error: ‘MPZ_Object’ has no member named ‘z’
74 | if (zz_sizeinbase(&u->z, base, &len)) {
| ^~
../gmp.c:124:31: error: ‘MPZ_Object’ has no member named ‘z’
124 | zz_err ret = zz_get_str(&u->z, base, p);
| ^~
../gmp.c: In function ‘MPZ_from_str’:
../gmp.c:162:44: error: ‘MPZ_Object’ has no member named ‘z’
162 | zz_err ret = zz_set_str(str, base, &res->z);
| ^~
../gmp.c: In function ‘MPZ_from_int’:
../gmp.c:242:38: error: ‘MPZ_Object’ has no member named ‘z’
242 | if (res && zz_set(value, &res->z)) {
| ^~
/project/.local/include/zz/zz.h:66:40: note: in definition of macro ‘zz_set’
66 | double: zz_set_double)(U, V)
| ^
../gmp.c: In function ‘MPZ_to_int’:
../gmp.c:267:18: error: ‘MPZ_Object’ has no member named ‘z’
267 | if (zz_get(&u->z, &value) == ZZ_OK) {
| ^~
/project/.local/include/zz/zz.h:77:15: note: in definition of macro ‘zz_get’
77 | _Generic((U), \
| ^
../gmp.c:267:18: error: ‘MPZ_Object’ has no member named ‘z’
267 | if (zz_get(&u->z, &value) == ZZ_OK) {
| ^~
/project/.local/include/zz/zz.h:83:58: note: in definition of macro ‘zz_get’
83 | double *: zz_get_double))(U, V)
| ^
../gmp.c:287:27: error: ‘MPZ_Object’ has no member named ‘z’
287 | (void)zz_sizeinbase(&u->z, 16, &len);
| ^~
../gmp.c:288:23: error: ‘MPZ_Object’ has no member named ‘z’
288 | len += zz_isneg(&u->z);
| ^~
../gmp.c:292:22: error: ‘MPZ_Object’ has no member named ‘z’
292 | if (zz_get_str(&u->z, 16, buf)) {
| ^~
../gmp.c: In function ‘MPZ_to_bytes’:
../gmp.c:329:33: error: ‘MPZ_Object’ has no member named ‘z’
329 | zz_err ret = zz_get_bytes(&u->z, (size_t)length, is_signed, &buffer);
| ^~
../gmp.c:338:24: error: ‘MPZ_Object’ has no member named ‘z’
338 | if (zz_isneg(&u->z) && !is_signed) {
| ^~
../gmp.c: In function ‘MPZ_from_bytes’:
../gmp.c:402:70: error: ‘MPZ_Object’ has no member named ‘z’
402 | zz_err ret = zz_set_bytes(buffer, (size_t)length, is_signed, &res->z);
| ^~
../gmp.c: In function ‘dealloc’:
../gmp.c:548:24: error: ‘MPZ_Object’ has no member named ‘z’
548 | && zz_sizeof(&u->z) <= MAX_FREELIST_SIZEOF
| ^~
../gmp.c:555:20: error: ‘MPZ_Object’ has no member named ‘z’
555 | zz_clear(&u->z);
| ^~
../gmp.c: In function ‘to_float’:
../gmp.c:644:27: error: ‘MPZ_Object’ has no member named ‘z’
644 | zz_err ret = zz_get(&u->z, &d);
| ^~
/project/.local/include/zz/zz.h:77:15: note: in definition of macro ‘zz_get’
77 | _Generic((U), \
| ^
../gmp.c:644:27: error: ‘MPZ_Object’ has no member named ‘z’
644 | zz_err ret = zz_get(&u->z, &d);
| ^~
/project/.local/include/zz/zz.h:83:58: note: in definition of macro ‘zz_get’
83 | double *: zz_get_double))(U, V)
| ^
../gmp.c: In function ‘richcompare’:
../gmp.c:692:22: error: ‘MPZ_Object’ has no member named ‘z’
692 | r = zz_cmp(&u->z, &((MPZ_Object *)other)->z);
| ^~
/project/.local/include/zz/zz.h:222:15: note: in definition of macro ‘zz_cmp’
222 | _Generic((U), \
| ^
../gmp.c:692:22: error: ‘MPZ_Object’ has no member named ‘z’
692 | r = zz_cmp(&u->z, &((MPZ_Object *)other)->z);
| ^~
/project/.local/include/zz/zz.h:227:50: note: in definition of macro ‘zz_cmp’
227 | default: zz_cmp))(U, V)
| ^
../gmp.c:692:49: error: ‘MPZ_Object’ has no member named ‘z’
692 | r = zz_cmp(&u->z, &((MPZ_Object *)other)->z);
| ^~
/project/.local/include/zz/zz.h:227:53: note: in definition of macro ‘zz_cmp’
227 | default: zz_cmp))(U, V)
| ^
../gmp.c:699:26: error: ‘MPZ_Object’ has no member named ‘z’
699 | r = zz_cmp(&u->z, temp);
| ^~
/project/.local/include/zz/zz.h:222:15: note: in definition of macro ‘zz_cmp’
222 | _Generic((U), \
| ^
../gmp.c:699:26: error: ‘MPZ_Object’ has no member named ‘z’
699 | r = zz_cmp(&u->z, temp);
| ^~
/project/.local/include/zz/zz.h:227:50: note: in definition of macro ‘zz_cmp’
227 | default: zz_cmp))(U, V)
| ^
../gmp.c:707:26: error: ‘MPZ_Object’ has no member named ‘z’
707 | r = zz_cmp(&u->z, &v->z);
| ^~
/project/.local/include/zz/zz.h:222:15: note: in definition of macro ‘zz_cmp’
222 | _Generic((U), \
| ^
../gmp.c:707:26: error: ‘MPZ_Object’ has no member named ‘z’
707 | r = zz_cmp(&u->z, &v->z);
| ^~
/project/.local/include/zz/zz.h:227:50: note: in definition of macro ‘zz_cmp’
227 | default: zz_cmp))(U, V)
| ^
../gmp.c:707:33: error: ‘MPZ_Object’ has no member named ‘z’
707 | r = zz_cmp(&u->z, &v->z);
| ^~
/project/.local/include/zz/zz.h:227:53: note: in definition of macro ‘zz_cmp’
227 | default: zz_cmp))(U, V)
| ^
In file included from ../gmp.c:5:
../gmp.c: In function ‘hash’:
../gmp.c:755:48: error: ‘MPZ_Object’ has no member named ‘hash_cache’
755 | *)&u->hash_cache,
| ^~
../gmp.c:754:22: error: ‘__atomic_load_ptr’ undeclared (first use in this function); did you mean ‘__atomic_load_n’?
754 | Py_hash_t hash = atomic_load_explicit((const _Atomic(Py_hash_t)
| ^~~~~~~~~~~~~~~~~~~~
../gmp.c:754:22: note: each undeclared identifier is reported only once for each function it appears in
../gmp.c:754:22: error: argument 1 of ‘__atomic_load’ must be a non-void pointer type
754 | Py_hash_t hash = atomic_load_explicit((const _Atomic(Py_hash_t)
| ^~~~~~~~~~~~~~~~~~~~
../gmp.c:771:20: error: ‘MPZ_Object’ has no member named ‘z’
771 | (void)zz_div(&u->z, (int64_t)pyhash_modulus, NULL, &w);
| ^~
/project/.local/include/zz/zz.h:196:15: note: in definition of macro ‘zz_div’
196 | _Generic((U), \
| ^
../gmp.c:771:20: error: ‘MPZ_Object’ has no member named ‘z’
771 | (void)zz_div(&u->z, (int64_t)pyhash_modulus, NULL, &w);
| ^~
/project/.local/include/zz/zz.h:207:50: note: in definition of macro ‘zz_div’
207 | default: zz_div))(U, V, Q, R)
| ^
../gmp.c:775:20: error: ‘MPZ_Object’ has no member named ‘z’
775 | if (zz_isneg(&u->z) && hash) {
| ^~
../gmp.c:782:51: error: ‘MPZ_Object’ has no member named ‘hash_cache’
782 | atomic_store_explicit((_Atomic(Py_hash_t) *)&u->hash_cache,
| ^~
../gmp.c:782:5: error: ‘__atomic_store_ptr’ undeclared (first use in this function); did you mean ‘__atomic_store_n’?
782 | atomic_store_explicit((_Atomic(Py_hash_t) *)&u->hash_cache,
| ^~~~~~~~~~~~~~~~~~~~~
../gmp.c:782:5: error: conversion from ‘Py_hash_t’ {aka ‘long int’} to ‘int’ may change value [-Werror=conversion]
782 | atomic_store_explicit((_Atomic(Py_hash_t) *)&u->hash_cache,
| ^~~~~~~~~~~~~~~~~~~~~
../gmp.c:782:5: error: argument 1 of ‘__atomic_store’ must be a non-void pointer type
782 | atomic_store_explicit((_Atomic(Py_hash_t) *)&u->hash_cache,
| ^~~~~~~~~~~~~~~~~~~~~
../gmp.c: In function ‘plus’:
../gmp.c:802:34: error: ‘MPZ_Object’ has no member named ‘z’
802 | zz_err ret = zz_##suff(&u->z, &res->z); \
| ^~
../gmp.c:817:1: note: in expansion of macro ‘UNOP’
817 | UNOP(pos, plus)
| ^~~~
../gmp.c:802:43: error: ‘MPZ_Object’ has no member named ‘z’
802 | zz_err ret = zz_##suff(&u->z, &res->z); \
| ^~
../gmp.c:817:1: note: in expansion of macro ‘UNOP’
817 | UNOP(pos, plus)
| ^~~~
../gmp.c: In function ‘nb_negative’:
../gmp.c:802:34: error: ‘MPZ_Object’ has no member named ‘z’
802 | zz_err ret = zz_##suff(&u->z, &res->z); \
| ^~
../gmp.c:818:1: note: in expansion of macro ‘UNOP’
818 | UNOP(neg, nb_negative)
| ^~~~
../gmp.c:802:43: error: ‘MPZ_Object’ has no member named ‘z’
802 | zz_err ret = zz_##suff(&u->z, &res->z); \
| ^~
../gmp.c:818:1: note: in expansion of macro ‘UNOP’
818 | UNOP(neg, nb_negative)
| ^~~~
../gmp.c: In function ‘nb_absolute’:
../gmp.c:802:34: error: ‘MPZ_Object’ has no member named ‘z’
802 | zz_err ret = zz_##suff(&u->z, &res->z); \
| ^~
../gmp.c:819:1: note: in expansion of macro ‘UNOP’
819 | UNOP(abs, nb_absolute)
| ^~~~
../gmp.c:802:43: error: ‘MPZ_Object’ has no member named ‘z’
802 | zz_err ret = zz_##suff(&u->z, &res->z); \
| ^~
../gmp.c:819:1: note: in expansion of macro ‘UNOP’
819 | UNOP(abs, nb_absolute)
| ^~~~
../gmp.c: In function ‘nb_invert’:
../gmp.c:802:34: error: ‘MPZ_Object’ has no member named ‘z’
802 | zz_err ret = zz_##suff(&u->z, &res->z); \
| ^~
../gmp.c:820:1: note: in expansion of macro ‘UNOP’
820 | UNOP(invert, nb_invert) /* may overflow */
| ^~~~
../gmp.c:802:43: error: ‘MPZ_Object’ has no member named ‘z’
802 | zz_err ret = zz_##suff(&u->z, &res->z); \
| ^~
../gmp.c:820:1: note: in expansion of macro ‘UNOP’
820 | UNOP(invert, nb_invert) /* may overflow */
| ^~~~
../gmp.c: In function ‘to_bool’:
../gmp.c:831:44: error: ‘MPZ_Object’ has no member named ‘z’
831 | return !zz_iszero(&((MPZ_Object *)self)->z);
| ^~
../gmp.c: In function ‘nb_add’:
../gmp.c:875:37: error: ‘MPZ_Object’ has no member named ‘z’
875 | ret = zz_##suff(ival, &v->z, &res->z); \
| ^~
/project/.local/include/zz/zz.h:131:29: note: in definition of macro ‘zz_add’
131 | int: _Generic((V), \
| ^
../gmp.c:936:1: note: in expansion of macro ‘BINOP’
936 | BINOP(add, PyNumber_Add)
| ^~~~~
../gmp.c:875:37: error: ‘MPZ_Object’ has no)(U, V, Q, R)
| ^
../gmp.c:2078:32: error: ‘MPZ_Object’ has no member named ‘z’
2078 | || zz_div(&res->z, &den->z, &res->z, NULL))
| ^~
/project/.local/include/zz/zz.h:207:53: note: in definition of macro ‘zz_div’
207 | default: zz_div))(U, V, Q, R)
| ^
../gmp.c:2078:41: error: ‘MPZ_Object’ has no member named ‘z’
2078 | || zz_div(&res->z, &den->z, &res->z, NULL))
| ^~
/project/.local/include/zz/zz.h:207:56: note: in definition of macro ‘zz_div’
207 | default: zz_div))(U, V, Q, R)
| ^
../gmp.c: In function ‘gmp__mpmath_normalize’:
../gmp.c:2165:56: error: ‘MPZ_Object’ has no member named ‘z’
2165 | &man->z, &exp->z, &bc)))
| ^~
../gmp.c:2165:65: error: ‘MPZ_Object’ has no member named ‘z’
2165 | &man->z, &exp->z, &bc)))
| ^~
../gmp.c: In function ‘gmp__mpmath_create’:
../gmp.c:2223:34: error: ‘MPZ_Object’ has no member named ‘z’
2223 | bool negative = zz_isneg(&man->z);
| ^~
../gmp.c:2224:36: error: ‘MPZ_Object’ has no member named ‘z’
2224 | zz_bitcnt_t bc = zz_bitlen(&man->z);
| ^~
../gmp.c:2229:26: error: ‘MPZ_Object’ has no member named ‘z’
2229 | (void)zz_abs(&man->z, &man->z);
| ^~
../gmp.c:2229:35: error: ‘MPZ_Object’ has no member named ‘z’
2229 | (void)zz_abs(&man->z, &man->z);
| ^~
../gmp.c:2255:48: error: ‘MPZ_Object’ has no member named ‘z’
2255 | &man->z, &exp->z, &bc)))
| ^~
../gmp.c:2255:57: error: ‘MPZ_Object’ has no member named ‘z’
2255 | &man->z, &exp->z, &bc)))
| ^~
../gmp.c: At top level:
../gmp.c:2470:15: error: variable ‘gmp_module’ has initializer but incomplete type
2470 | static struct PyModuleDef gmp_module = {
| ^~~~~~~~~~~
../gmp.c:2471:5: error: ‘PyModuleDef_HEAD_INIT’ undeclared here (not in a function); did you mean ‘PyModuleDef_Init’?
2471 | PyModuleDef_HEAD_INIT,
| ^~~~~~~~~~~~~~~~~~~~~
| PyModuleDef_Init
../gmp.c:2471:5: error: excess elements in struct initializer [-Werror]
../gmp.c:2471:5: note: (near initialization for ‘gmp_module’)
../gmp.c:2472:6: error: ‘struct PyModuleDef’ has no member named ‘m_name’
2472 | .m_name = "gmp",
| ^~~~~~
../gmp.c:2472:15: error: excess elements in struct initializer [-Werror]
2472 | .m_name = "gmp",
| ^~~~~
../gmp.c:2472:15: note: (near initialization for ‘gmp_module’)
../gmp.c:2473:6: error: ‘struct PyModuleDef’ has no member named ‘m_doc’
2473 | .m_doc = "Bindings to the GN
[...]
This comment was marked as resolved.
This comment was marked as resolved.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See #234
TODO: